package com.irdstudio.efp.e4a.service.dao;

import java.util.List;

import com.irdstudio.efp.e4a.service.domain.PubSysInfo;
import com.irdstudio.efp.e4a.service.domain.SDuty;
import com.irdstudio.efp.e4a.service.domain.SOrg;
import com.irdstudio.efp.e4a.service.domain.SRole;
import com.irdstudio.efp.e4a.service.domain.SUser;
import com.irdstudio.efp.e4a.service.vo.SMenuCtrlVO;
import com.irdstudio.efp.e4a.service.vo.SMenuVO;

public interface E4ADao {

	/**
	 * 用户信息查询
	 * @param sUser
	 * @return
	 */
	public SUser queryByCodeAndPw(SUser sUser);
	
	/**
	 * 查询系统信息
	 * @return
	 */
	public PubSysInfo queryPubSystInfo();
	
	/**
	 * 查询用户机构信息
	 * @param userCode
	 * @return
	 */
	public SOrg queryOrgByUserCode(String userCode);
	
	/**
	 * 查询法人机构信息
	 * @param userCode
	 * @return
	 */
	public SOrg queryOrgByLegalOrgCode(String legalOrgCode);
	
	/**
	 * 查询用户岗位信息
	 * @param userCode
	 * @return
	 */
	public List<SDuty> queryDutyByUserCode(String userCode);
	
	/**
	 * 查询用户角色信息
	 * @param userCode
	 * @return
	 */
	public List<SRole> queryRoleByUserCode(String userCode);
	
	/**
	 * 查询用户当前拥有的资源菜单
	 * @param userCode 用户码
	 * @return
	 */
	public List<SMenuVO> queryUserRescData(String userCode);
	
	/**
	 * 查询用户下，拥有的资源操作信息
	 * @param userCode
	 * @return
	 */
	public List<SMenuCtrlVO> queryUserRescActData(String userCode);
	
	/**
	 * 更新用户密码、标注用户已修改了初始密码
	 * @param sUser
	 * @return
	 */
	public int updateUserPassword(SUser sUser);
	/**
	 * @param param
	 * @return
	 * @author liuty
	 * @date 2019年6月28日 下午2:53:08
	 * @version 0.1
	 */
	public SUser queryByCode(SUser param);
	
}
